package com.dhecp.project.storage.service;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.dhecp.common.core.domain.AjaxResult;
import com.dhecp.project.storage.domain.DeliveryBoxDetail;
import com.dhecp.project.storage.domain.DeliveryLogistics;

/**
 * 查询海外发货申请单  业务层
 */
public interface DeliveryLogisticsService {
    List<DeliveryLogistics> queryList(Map<String, Object> params) throws Exception;

    List<DeliveryBoxDetail> querySonListByBid(Map<String, Object> params) throws Exception;
    
    DeliveryLogistics queryFirstRecord(Map<String, Object> params) throws Exception;
    
    DeliveryLogistics queryByBid(@Param("bid")String bid);
    
    /**
     * 保存
     */
    AjaxResult saveData(Map<String, Object> params) throws Exception;
    
    /**
     * 审核
     */
    AjaxResult updateState(String bid) throws Exception;

    /**
     * 回退
     * @param bid
     */
    AjaxResult refuse(String bid) throws Exception;

    /**
     * 获取计重单价，附加材质费(通过物流方式GUID和计重、材质名称)
     * @param guid
     * @param weight
     */
    AjaxResult getPriceInfo(String codeLogsticsPattern, BigDecimal weight, String bidBox);
    
    /**
     * 入库
     */
    AjaxResult stockIn(String bid, String vHwTo) throws Exception;

    /**
     * 入库单回退
     * @param bid
     */
    AjaxResult stockInBack(String bid) throws Exception;

    /**
     * 填写运单号
     * @param bid
     */
    AjaxResult editWayBillNumber(String bid, String wayBillNumber) throws Exception;

    /**
     * 填写运单号
     * @param bid
     */
    AjaxResult editTimeArrivePredict(String bid, String timeArrivePredict) throws Exception;

}
